Skip to content

Add Linux user_events receiver#2787

Open
lalitb wants to merge 18 commits intoopen-telemetry:mainfrom
lalitb:split/user-events-receiver-only
Open

Add Linux user_events receiver#2787
lalitb wants to merge 18 commits intoopen-telemetry:mainfrom
lalitb:split/user-events-receiver-only

Conversation

@lalitb
Copy link
Copy Markdown
Member

@lalitb lalitb commented Apr 30, 2026

Change Summary

Split out from the original combined PR #2717.

Adds a contrib receiver for Linux user_events tracepoints.

The receiver supports two decode formats:

  • tracefs: generic Linux tracepoint decoding based on the static schema exposed in tracefs format files.
  • event_header: decodes self-describing EventHeader payloads. EventHeader comes from the Microsoft LinuxTracepoints-Rust project, but is open and usable by any producer.

The receiver uses one_collect for perf/user_events collection, and supports single or multiple subscriptions, batching, late registration, and basic receiver metrics. It is behind the userevents-receiver feature flag.

Also adds a Linux CI smoke test that registers and reads both tracefs and EventHeader user_events tracepoints when kernel support is available.

What issue does this PR close?

How are these changes tested?

Added Linux CI smoke test

Are there any user-facing changes?

Yes, a receiver.

@lalitb lalitb marked this pull request as ready for review April 30, 2026 06:40
@lalitb lalitb requested a review from a team as a code owner April 30, 2026 06:40
@github-actions github-actions Bot added rust Pull requests that update Rust code ci-repo Repository maintenance, build, GH workflows, repo cleanup, or other chores labels Apr 30, 2026
@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 30, 2026

Codecov Report

❌ Patch coverage is 65.22445% with 643 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.12%. Comparing base (33569b3) to head (72e80ec).
⚠️ Report is 1 commits behind head on main.

❌ Your patch check has failed because the patch coverage (65.22%) is below the target coverage (80.00%). You can increase the patch coverage or adjust the target coverage.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2787      +/-   ##
==========================================
- Coverage   86.26%   86.12%   -0.15%     
==========================================
  Files         715      720       +5     
  Lines      272060   273909    +1849     
==========================================
+ Hits       234697   235892    +1195     
- Misses      36839    37493     +654     
  Partials      524      524              
Components Coverage Δ
otap-dataflow 87.04% <65.22%> (-0.19%) ⬇️
query_abstraction 80.61% <ø> (ø)
query_engine 90.73% <ø> (ø)
otel-arrow-go 52.45% <ø> (ø)
quiver 92.25% <ø> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment thread rust/otap-dataflow/crates/contrib-nodes/README.md Outdated
Comment thread rust/otap-dataflow/crates/contrib-nodes/src/receivers/mod.rs Outdated
Comment thread rust/otap-dataflow/crates/contrib-nodes/Cargo.toml Outdated
Comment thread rust/otap-dataflow/crates/contrib-nodes/Cargo.toml
Copy link
Copy Markdown
Contributor

@jmacd jmacd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Partial review. This is super!

Comment thread rust/otap-dataflow/crates/contrib-nodes/Cargo.toml Outdated
Comment thread rust/otap-dataflow/crates/contrib-nodes/Cargo.toml Outdated
Comment thread rust/otap-dataflow/crates/contrib-nodes/src/receivers/user_events_receiver/mod.rs Outdated
@lalitb
Copy link
Copy Markdown
Member Author

lalitb commented May 9, 2026

Thanks @utpilla - these are valid comments, and addressed.

Commit: 66fab1b Address user_events receiver review feedback

Changes made:

  • Renamed features to user_events-receiver / user_events-eventheader.
  • Removed README mentions of Microsoft Common Schema and ETW.
  • Replaced late_registration.enabled + poll_interval_ms with session.late_registration_poll_interval: Option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ci-repo Repository maintenance, build, GH workflows, repo cleanup, or other chores rust Pull requests that update Rust code

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

Proposal: Add Linux user_events Receiver for Telemetry from Applications Co-Located with the Collector

7 participants